package com.wulis.provider.authority.model.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.wulis.common.model.entity.BaseEntity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * 权限管理:菜单表
 *
 * @author WuliBao
 * @date 2020-04-17
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("authority_menu")
@ApiModel(value = "Menu对象", description = "权限管理:菜单表")
public class Menu extends BaseEntity<Menu> {
    
    private static final long serialVersionUID = 1L;
    
    @ApiModelProperty(value = "父节点ID")
    @TableField("parent_id")
    private Long parentId;
    
    @ApiModelProperty(value = "所有父节点ID")
    @TableField("parent_ids")
    private String parentIds;
    
    @ApiModelProperty(value = "图标")
    @TableField("icon")
    private String icon;
    
    @ApiModelProperty(value = "菜单名称")
    @TableField("menu_name")
    private String menuName;
    
    @ApiModelProperty(value = "跳转类型（blank|self|top|parent）")
    @TableField("target")
    private String target;
    
    @ApiModelProperty(value = "路由地址")
    @TableField("route")
    private String route;
    
    @ApiModelProperty(value = "重定向地址")
    @TableField("redirect")
    private String redirect;
    
    @ApiModelProperty(value = "组件路径")
    @TableField("component")
    private String component;
    
    @ApiModelProperty(value = "组件名称")
    @TableField("component_name")
    private String componentName;
    
    @ApiModelProperty(value = "路由缓存: 0否,1是")
    @TableField("keep_alive")
    private Integer keepAlive;
    
    @ApiModelProperty(value = "是否隐藏header内tab: 0否,1是")
    @TableField("hidden_header_content")
    private Integer hiddenHeaderContent;
    
    @ApiModelProperty(value = "权限标识")
    @TableField("permission_mark")
    private String permissionMark;
    
    @ApiModelProperty("菜单类型：0菜单 1按钮")
    @TableField("menu_type")
    private Integer menuType;
    
    @ApiModelProperty(value = "排序")
    @TableField("sort")
    private Integer sort;
    
    @ApiModelProperty(value = "启用状态：0关闭 1启用")
    @TableField("enable")
    private Integer enable;
    
}
